/* import { defineStore } from 'pinia'
import { ref } from 'vue'
//import { loginAPI, getUserInfoAPI } from '../service/user.js' // 根据你的项目结构调整 API 导入路径
export const useUserStore = defineStore(
  'user',
  () => {
    // 1. 定义状态 (State)
    const userInfo = ref({}) // 存储用户信息
    const token = ref('') // 存储认证令牌

    // 2. 定义 Actions
    // 用户登录 action
    const userLogin = async (loginData) => {
      try {
        const res = await loginAPI(loginData) // 调用登录 API
        userInfo.value = res.userInfo // 假设返回数据中有 userInfo
        token.value = res.token // 假设返回数据中有 token
        // Pinia 的响应式系统会自动更新状态，pinia-plugin-persistedstate 会自动持久化到 localStorage
      } catch (error) {
        console.error('Login failed:', error)
        throw error // 抛出错误以便组件处理
      }
    }

    // 获取用户信息 action (可用于页面刷新后或进入页面时重新获取)
    const fetchUserInfo = async () => {
      try {
        // 如果 token 存在，则尝试获取用户信息
        if (token.value) {
          const res = await getUserInfoAPI() // 通常需要 token 自动在请求头中携带
          userInfo.value = res
        }
      } catch (error) {
        console.error('Fetch user info failed:', error)
        // 可选：清除无效的 token 和用户信息
        // logout()
      }
    }

    // 退出登录 action
    const logout = () => {
      userInfo.value = {}
      token.value = ''
      // 持久化插件会自动同步到 localStorage
    }

    // 3. 定义 Getters (根据需要)
    const isLoggedIn = () => {
      return !!token.value // 根据 token 判断登录状态
    }

    // 4. 返回 state 和 actions
    return {
      userInfo,
      token,
      userLogin,
      fetchUserInfo,
      logout,
      isLoggedIn,
    }
  },
  {
    // Pinia 持久化配置
    persist: {
      key: 'user-storage', // 存储的 key，可选，默认为 store id ('user')
      storage: localStorage, // 存储方式，默认为 localStorage
      paths: ['userInfo', 'token'], // 指定要持久化的状态，这里持久化 userInfo 和 token
    },
  },
)
 */
